import axios from 'axios'

const request = axios.create({
  baseURL: 'http://localhost:8080',
  timeout: 10000,
})

// 添加请求拦截器
request.interceptors.request.use(config => {
  const token = localStorage.getItem('token')
  console.log(token);
  
  if (token) {
    config.headers.Authorization = `Bearer ${token}`
  }
  return config
})

// 添加响应拦截器
request.interceptors.response.use(response => {
  // 处理大整数ID问题
  // const processLargeIntegers = (data: any) => {
  //   if (!data) return data;
    
  //   // 如果是数组，递归处理每个元素
  //   if (Array.isArray(data)) {
  //     return data.map(item => processLargeIntegers(item));
  //   }
    
  //   // 如果是对象，递归处理每个属性
  //   if (typeof data === 'object') {
  //     const result = {};
  //     for (const key in data) {
  //       // 处理可能的ID字段
  //       if ((key === 'id' || key === 'hotelId' || key === 'hotel_id' || key.endsWith('Id')) && 
  //           typeof data[key] === 'number' && 
  //           !Number.isSafeInteger(data[key])) {
  //         // 将不安全的大整数转换为字符串
  //         result[key] = String(data[key]);
  //       } else {
  //         result[key] = processLargeIntegers(data[key]);
  //       }
  //     }
  //     return result;
  //   }
    
  //   return data;
  // };
  
  // // 处理响应数据中的大整数
  // if (response.data) {
  //   response.data = processLargeIntegers(response.data);
  // }
  
  return response.data;
})

export default request

